package com.jsbs.iam.user.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jsbs.iam.common.core.annotation.Excel;
import lombok.Data;
import lombok.ToString;

import java.time.LocalDateTime;

/**
 * @BelongsProject: iam
 * @BelongsPackage: com.jsbs.iam.user.vo
 * @Author: WangJiYuan
 * @Description: TODO
 * @Version: 2022-12-23  10:29
 */
@Data
@ToString
public class UserInfoSelectVo {
    /**
     * 归属组织，组织类型编码
     */
    private String orgTypeCode;
    /**
     * 用户类型编码
     */
    private String userTypeCode;
    /**
     * 用户类型名称
     */
    @Excel(name = "用户类型", sort = 2)
    private String userTypeName;
    /**
     * 人员汇报关系组织 汇报组织
     */
    private String orgCode;
    /**
     * 人员汇报关系组织 汇报组织名称
     */
    @Excel(name = "组织机构", sort = 4)
    private String orgName;
    /**
     * 业务系统用户ID  新增时没用,只是塞值  前端不用传,把[用户id 0000000001]塞入
     */
    private String userId;
    /**
     * 用户ID  全局唯一    [用户id 0000000001]
     */
    private String userCode;
    /**
     * 员工编号 工号，非空唯一   [用户编码 iam000001]
     */
    @Excel(name = "用户编码", sort = 0)
    private String employeeCode;
    /**
     * 姓名
     */
    @Excel(name = "姓名", sort = 1)
    private String name;
    /**
     * 电话 非空唯一
     */
    @Excel(name = "联系号码", sort = 3)
    private String phone;
    /**
     * 员工状态:0试用期,1正式,2待离职,3待岗,4在岗,5离职
     */
    @Excel(name = "状态", readConverterExp = "0=启用,1=启用,2=启用,3=启用,4=启用,5=禁用", sort = 5, cellType = Excel.ColumnType.NUMERIC)
    private Integer employeeStatus;
    /**
     * 创建人
     */
    private String createPerson;
    /**
     * 创建日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;
    /**
     * 更新人
     */
    private String updatePerson;
    /**
     * 更新日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;
}
